Cable television networks provide cable television services to a large number of subscribers over a large geographical area. The cable television networks typically are interconnected by cables such as coaxial cables or a Hybrid Fiber/Coaxial (“HFC”) cable system which have data rates of about 10 Mega-bits-per-second (“Mbps”) to 30+Mbps or greater. The Internet, a world-wide-network of interconnected computers, provides multi-media content including audio, video, graphics and text that typically requires a large bandwidth for downloading and viewing. Most Internet Service Providers (“ISPs”) allow customers to connect to the Internet via a serial telephone line from a Public Switched Telephone Network (“PSTN”) at data rates including 14,400 bps, 28,800 bps, 33,600 bps, 56,000 bps and others that are much slower than the about 10 Mbps to 30+Mbps or greater available on a coaxial cable or HFC cable system on a cable television network.
With the explosive growth of the Internet, many customers have desired to use the larger bandwidth of a cable television network to connect to the Internet and other computer networks. Cable modems offer customers higher-speed connectivity to the Internet, an intranet, Local Area Networks (“LANs”) and other computer networks via cable television networks. These cable modems currently support a data connection to the Internet and other computer networks via a cable television network with a data rate of up to 30+Mbps or greater, which is a much larger data rate than can be supported by a modem used over a serial telephone line.
Many cable television networks now provide two-way or bi-directional cable systems, supporting both a downstream and upstream data path. A downstream data path is the flow of data from a cable system headend to a customer. A cable system headend is a central location in the cable television network that is responsible for sending cable signals in the downstream direction. A return data path via an out-of-band channel is typically used for an upstream data path. An upstream data path is the flow of data from the customer back to the cable system headend.
An exemplary data-over-cable system includes customer premise equipment (CPE) (e.g., a customer computer), a cable modem, a cable modem termination system, a cable television network, and a data network (e.g., the Internet).
The cable modem termination system receives data packets from the data network and transmits them downstream via the cable television network to a cable modem attached to the CPE. In a two-way cable system, the CPE sends response data packets to the cable modem, which sends the data packets upstream via the cable television network to the cable modem termination system. The cable modem termination system sends the response data packets back to the appropriate host on the data network.
As a cable modem is initialized in a data-over-cable system, it registers with a cable modem termination system to allow the cable modem to receive data over a cable television connection and from a data network (e.g., the Internet or an Intranet). The cable modem forwards configuration information it receives in a configuration file during initialization to the cable modem termination system as part of a registration request message. A cable modem also helps initialize and register any attached CPE with the cable modem termination system.
A cable modem termination system in a data-over-cable system typically manages connections to tens of thousands of cable modems. Most of the cable modems are attached to host CPE such as a customer computer. To send and receive data to and from a computer network like the Internet or an intranet, a cable modem and CPE and other network devices have a network address dynamically assigned on the data-over-cable system. Many data-over-cable systems in the prior art use a Dynamic Host Configuration Protocol (“DHCP”) as a standard messaging protocol to dynamically allocate network addresses such as Internet Protocol (“IP”) addresses. As is known in the art, the Dynamic Host Configuration Protocol is a protocol for passing configuration information to network devices on a network. The Internet Protocol is an addressing protocol designed to route traffic within a network or between networks.
As a cable modem is initialized, it will obtain a network address such as an Internet Protocol address (e.g., with a Dynamic Host Configuration Protocol) and send the network address to the cable modem termination system. The cable modem termination system stores the network address for the cable modem in an internal table. When CPE attached to a cable modem is initialized, it will also obtain a network address such as an Internet Protocol address. The network address for the CPE is stored in an internal table on the cable modem. The network address for the CPE is also stored on the cable modem termination system with a network address for a cable modem the CPE is associated with. When data arrives for the CPE from a network like the Internet or an intranet, the cable modem termination system uses the internal tables to route the data to the CPE. A network address from the data will be used to compare with network addresses from the internal tables on the cable modem termination system. The cable modem termination system will look up a network address from the data and determine that it is for CPE. Since the cable modem termination does not have direct connections to CPE, it will send the data to a cable modem associated with the CPE. The network address for the cable modem is determined from an internal table on the cable modem termination system that associates a cable modem with a CPE.
In many cases, there are several pieces of CPE at, for example, a home location that may communicate through a single cable modem through a broadband two-way cable network. Each CPE may communicate with a different ISP to reach the internet and communication with other network equipment, including the other CPE at the location. For example, in a home with several computers and several different users, each user may use a different ISP for internet communications, and may even switch between the various ISP's that are coupled to the cable system. When any one of the CPE desire to communicate with another CPE at the home location, traffic is routed through the cable modem, through the cable network and to the ISP selected by the CPE, and routed onto the internet. From the internet, the traffic is routed to the ISP chosen by the destination CPE which routes the traffic back to the cable network and then back to the home network. As can be seen, there are significant external network resources required to route traffic between CPE that are located nearby each other or within a local network.
Thus, what is needed is a practical, economical, and more efficient apparatus and method for routing traffic between CPE. What is also needed is an improved apparatus and method for routing traffic between CPE that reduces external network requirements. What is also needed is apparatus and method that more efficiently routes traffic between local CPE while properly routing traffic destined for the internet through an ISP associated with the CPE.